<!-- 

import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue'; // 示例插件

export default defineConfig({
  // 配置项...
    plugins: [
    vue(), // 支持 Vue 3
    // react(), // 支持 React
    // babel(), // 自定义 Babel 配置
    ]

});

-->


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>

import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue'; // 示例插件

export default defineConfig({
  // 配置项...
    plugins: [
        vue(), // 支持 Vue 3
        // react(), // 支持 React
        // babel(), // 自定义 Babel 配置
    ],
    resolve: {
        alias: {
            '@': path.resolve(__dirname, 'src'),
            '@components': path.resolve(__dirname, 'src/components')
        }
    },
    server: {
        host: '0.0.0.0',        // 允许外部访问
        port: 3000,             // 端口
        open: true,             // 启动后自动打开浏览器
        cors: true,             // 启用 CORS
        proxy: {                // 代理配置（解决跨域）
            '/api': {
            target: 'http://localhost:8080',
            changeOrigin: true,
            rewrite: (path) => path.replace(/^\/api/, '')
            }
        }
    },
    build: {
        outDir: 'dist',                     // 输出目录
        assetsDir: 'static',                // 静态资源目录
        sourcemap: false,                   // 是否生成 source map
        minify: 'terser',                   // 使用 terser 压缩（默认 esbuild）
        terserOptions: {
            compress: {
            drop_console: true,             // 去除 console
            drop_debugger: true
            }
        },
        rollupOptions: {
            output: {
            chunkFileNames: 'js/[name]-[hash].js',
            assetFileNames: '[ext]/[name]-[hash].[ext]'
            }
        },
        css: {
            modules: {
                localsConvention: 'camelCase' // CSS Modules 命名规范
            },
            preprocessorOptions: {
                scss: {
                additionalData: '@import "@/styles/variables.scss";' // 全局 SCSS 变量
                }
            }
        },
        envPrefix: ['VITE_', 'APP_'], // 以 VITE_ 或 APP_ 开头的环境变量会被暴露

        optimizeDeps: {
            include: ['lodash-es', 'axios'], // 强制预构建这些包
            exclude: ['your-local-package']  // 排除某些包
        }
}

});
    </script>
</body>
</html>